// 1.0 导入fs
const fs = require('fs');

// 2.0 准备后裔这个对象
let obj1 = { name: '后裔', skinname: '精灵王' };

// 3.0 将对象通过数组的形式写入到data1.json中
// writeFileSync第二个参数只接收string或者Buffer，所以此处传入的是一个object会报错
// fs.writeFileSync('./data1.json', obj1)
let arr = [obj1]
try {
    fs.writeFileSync('./data1.json', JSON.stringify(arr));

    // 4.0 读取data1.json中的字符串转换成数组后追加程咬金对象
    // data1 的类型为字符串
    /*
        [
            {
                "name": "后裔",
                "skinname": "精灵王"
            }
        ]
    */
    let data1 = fs.readFileSync('./data1.json');
    // 4.1 将data1字符串转换成数组
    let arr1 = JSON.parse(data1);
    arr1.push({ name: '程咬金', skinname: '功夫厨神' });

    // 5.0 将新数组的数据写入到data1.json中
    fs.writeFileSync('./data1.json', JSON.stringify(arr1));

    console.log('写入成功');
} catch (err) {
    console.log('作业实现出错:' + err.message);
}

